const MessagePort=function MessagePort() {
    throw new TypeError('Illegal constructor')
}
// catvm.safefunction(MessagePort);
Object.defineProperties(MessagePort.prototype,{
    [Symbol.toStringTag]:{
        value:'MessagePort',
        configurable:true,
    }
})

MessagePort.onmessage=null
MessagePort.onmessageerror=null
MessagePort.prototype.postMessage=function postMessage(){};
catvm.safefunction(MessagePort.prototype.postMessage );
MessagePort.prototype.close=function close(){}
catvm.safefunction(MessagePort.prototype.close );
MessagePort.prototype.start=function start(){}
catvm.safefunction(MessagePort.prototype.start);




var port1={onmessage:null ,onmessageerror: null}
port1.__proto__=MessagePort.prototype
var port2={onmessage:null ,onmessageerror: null}
port2.__proto__=MessagePort.prototype

port1=catvm.proxy(port1)
port2=catvm.proxy(port2)

MessagePort.prototype.__proto__=EventTarget.prototype



const MessageChanel=function MessageChannel(){
    this.port1=port1;
    this.port2=port2
}
// catvm.safefunction(MessageChanel)
Object.defineProperties(MessageChanel.prototype,{
    [Symbol.toStringTag]:{
        value:'MessageChanel',
        configurable:true,
    }
})



window.MessageChannel=MessageChanel